From 0dc5928a6eeb7708c8f080a367d68597a2fdecb0 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Wed, 26 Apr 2006 12:40:56 -0600 Subject: [PATCH] [IA64] Fix vm_summary info in VTi domain This patch fixed vm_summary info and provide correct max_itr_entry, max_dtr_entry,impl_va_msb, rid_size and so on. Signed-off-by: Zhang xiantao --- xen/arch/ia64/vmx/pal_emul.c | 17 +++++++++++++++-- xen/include/asm-ia64/vmx_mm_def.h | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/xen/arch/ia64/vmx/pal_emul.c b/xen/arch/ia64/vmx/pal_emul.c index 3cdc3566b9..8118c41d08 100644 --- a/xen/arch/ia64/vmx/pal_emul.c +++ b/xen/arch/ia64/vmx/pal_emul.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include static void get_pal_parameters (VCPU *vcpu, UINT64 *gr29, @@ -285,9 +287,20 @@ pal_test_info(VCPU *vcpu){ static struct ia64_pal_retval pal_vm_summary(VCPU *vcpu){ + pal_vm_info_1_u_t vminfo1; + pal_vm_info_2_u_t vminfo2; struct ia64_pal_retval result; - - result.status= -1; //unimplemented + + PAL_CALL(result,PAL_VM_SUMMARY,0,0,0); + if(!result.status){ + vminfo1.pvi1_val = result.v0; + vminfo1.pal_vm_info_1_s.max_itr_entry = NITRS -1; + vminfo1.pal_vm_info_1_s.max_dtr_entry = NDTRS -1; + result.v0 = vminfo1.pvi1_val; + vminfo2.pal_vm_info_2_s.impl_va_msb = GUEST_IMPL_VA_MSB; + vminfo2.pal_vm_info_2_s.rid_size = current->domain->arch.rid_bits; + result.v1 = vminfo2.pvi2_val; + } return result; } diff --git a/xen/include/asm-ia64/vmx_mm_def.h b/xen/include/asm-ia64/vmx_mm_def.h index 57782b7010..21cf118b54 100644 --- a/xen/include/asm-ia64/vmx_mm_def.h +++ b/xen/include/asm-ia64/vmx_mm_def.h @@ -28,6 +28,7 @@ #define ARCH_PAGE_SHIFT 12 #define ARCH_PAGE_SIZE PSIZE(ARCH_PAGE_SHIFT) #define MAX_PHYS_ADDR_BITS 50 +#define GUEST_IMPL_VA_MSB 59 #define PMASK(size) (~((size) - 1)) #define PSIZE(size) (1UL<<(size)) //#define PAGE_SIZE_4K PSIZE(12) -- 2.30.2